A messaging service, for a non-limiting example, a Java® Message Service (JMS), is an application program interface (API) that supports the formal communication known as messaging between computers (servers) within a cluster in a network (a standalone server is considered as a cluster with one server). Here, messaging is the creation, storage, exchange, and management of messages between producers who send/publish the messages to a destination and consumers who receive, subscribe, and browse the messages from the destination. Here, a message can be but is not limited to, text, image, voice, telex, fax, e-mail, paging, and other suitable electronic data describing events, requests, and replies over a communication network.
Asynchronous messaging is a key part of modern enterprise transaction processing. It has become even more important in recent years with the rise of e-commerce and web services. In order to remain competitive, an application server built for today's market must include a messaging component that supports multiple standards, provides a variety of advanced features, and at the same time remains reliable, available, secure, and performant.